The invention relates to increasing the resolution of a data sequence, an in particular to generating a second video data sequence from a first video data sequence, the second video data sequence having a higher resolution or a higher data rate than the first video data sequence.
Such a video data sequence of increased resolution can be generated for a given data sequence by interpolating intermediate values between consecutive data values of the given data sequence. Such interpolation of intermediate values can be applied in the case of data sequences having temporally consecutive data values and also in the case of data sequences having spatially consecutive data values. A data sequence having spatially consecutive data values occurs for example in digital video images in which pixels are arrayed in matrix fashion. The values of pixels disposed adjacent to one another in the vertical direction or in the horizontal direction of the image form, in each case, a data sequence having spatially consecutive data values, the data values being represented by the pixel values.
Interpolation of intermediate values between given pixel values is necessary for example in image processing when a frame comprising pixel values for all image lines of the image is to be generated from a field in which pixel values are present only for every second row of the pixel matrix. A data sequence whose resolution is to be increased is in this case a data sequence that comprises a sequence of pixel values associated with pixels disposed one above another in the vertical direction of the field.
Interpolation of intermediate values is also necessary in image processing when either the image resolution of an image section is to be magnified upon so-called zooming or the image resolution of the entire image is to be magnified.
Interpolation of such intermediate values in a given data sequence can be achieved for example by inserting at least one additional data value, for example zero, between every two consecutive data values of the given data sequence and then applying low-pass filtering to the sequence so obtained.
Conventional discrete low-pass filters have filter coefficients that are stated as sampled values of a function sinc(x) (where sinc(x)=sin(x)/x). The sinc(x) function is a function of infinite extent, while the discrete filter can have only a finite number of filter coefficients, and as a result low-pass filters implemented in this way do not display ideal filter behavior.
A filter that images signal discontinuities in the original data sequence onto the data sequence of increased resolution as nearly as possible without distortion is desirable for image processing. Such signal discontinuities in data sequences that result from a digital video image represent edges in the image at which there is either a discontinuous change in lightness or a discontinuous change in color. When conventional low-pass filters are employed, such signal discontinuities in the original data sequence result in overshoots and undershoots in the region of the signal discontinuity in the interpolated data sequence. Thus, in the region of the signal discontinuity, the interpolated data sequence receives data values that are smaller than the data values of the original data sequence and data values that are larger than the data values of the original data sequence. Such overshoots and undershoots in the region of image edges are usually perceived as unpleasant by the viewer.
Therefore, there is a need for a system and method of increasing the resolution of a video data sequence, which can be implemented in a relatively simple and economical fashion and that in particular images signal discontinuities in the original data sequence to signal discontinuities in the data sequence of increased resolution at least approximately without overshoots and undershoots.